package com.fdb.efp.limit.service.dao;

import java.util.List;

import com.fdb.efp.limit.service.domain.LmtTerminateApp;
import com.fdb.efp.limit.service.vo.LmtTerminateAppVO;

/**
 * <p>
 * 的DAO类
 * </p>
 * @author yusys
 * @createDate 2018-07-31 11:12:34
 */
public interface LmtTerminateAppDao {
    
    /**
     * 插入记录
     * @param lmtTerminateApp
     * @return
     */
    public int insertLmtTerminateApp(LmtTerminateApp lmtTerminateApp);
    
    /**
     * 根据主键删除记录
     * @param lmtTerminateApp
     * @return
     */
    public int deleteByPk(LmtTerminateApp lmtTerminateApp);
    
    /**
     * 根据主键更新记录
     * @param lmtTerminateApp
     * @return
     */
    public int updateByPk(LmtTerminateApp lmtTerminateApp);
    
    /**
     * 查询记录
     * @param lmtTerminateApp
     * @return
     */
    public LmtTerminateApp queryByPk(LmtTerminateApp lmtTerminateApp);
    
    /**
     * 查询本人所属的记录
     * @param lmtTerminateAppVo
     * @return
     */
    public List<LmtTerminateApp> queryAllOwnerByPage(LmtTerminateAppVO lmtTerminateAppVo);
    
    /**
     * 查询本机构的记录
     * @param lmtTerminateAppVo
     * @return
     */
    public List<LmtTerminateApp> queryAllCurrOrgByPage(LmtTerminateAppVO lmtTerminateAppVo);
    
    /**
     * 查询本机构及下属机构的记录
     * @param lmtTerminateAppVo
     * @return
     */
    public List<LmtTerminateApp> queryAllCurrDownOrgByPage(LmtTerminateAppVO lmtTerminateAppVo);
    
    /**
     * 条件查询终止申请列表
     * @param lmtTerminateApp
     * @return
     */
    public List<LmtTerminateApp> queryByCondition(LmtTerminateApp lmtTerminateApp);
    
    
    /**
     * 审批状态范围查询终止申请列表
     * @param lmtTerminateApp
     * @return
     */
    public List<LmtTerminateApp> queryByApprove(LmtTerminateApp lmtTerminateApp);

    /**
     * 根据条件查询总数
     * @param lmtTerminateApp 条件
     * @return 总数
     */
    public int queryCountByCondition(LmtTerminateApp lmtTerminateApp);
    
}